<HTML>
<HEAD>
<title> rel2.0 </title>
</HEAD>
<BODY  bgcolor="#ffffff"  text="#000000">

<center>
<h1> rel2.0 </h1>
</center>

Date:     Wed, 25 Nov 87 11:00:03 EST
From:     "Gary S. Moss" (VLD/VMB) &lt;moss@BRL.ARPA&gt;

<p>
	The only way (I believe) to pick an object on a Tektronix is to
use the crosshairs to point to it, and hit (I believe) the space bar to
select it.  If this does not work, than either the software is at fault
or your emulators are imperfect.  We don't have every conceivable device
here to test it out on, and barely enough time to answer your questions.
I would suggest looking at the mged/dm-tek.c and mged/dm-tek4109.c and
see if the proper escape codes are being sent to your device to handle
the crosshairs.  We have pretty much gotten rid of all Tektronix style
devices here in favor of IRIS work stations and Suns, so there is not
much interest in maintaining support for Tektronix, though we will be
happy to propogate any fixes you may have.

<p>
Here are MGED commands as requested:
&lt; run mged with a new model (e.g., newmod0.g)
	mged newmod0.g
&lt; create an arb5 primitive name 'prim1'
	make prim1 arb5
&lt; translate, rotate, and scale 'prim1' to slightly off center
	press oill
	&lt;select "prim1" with crosshairs&gt;
	translate 1.0 1.0 1.0
	rotobj 5.0 5.0 5.0
	scale 1.5
&lt; create an arb7 primitive name 'prim2'
	make prim2 arb7
&lt; combine 'prim1' and 'prim2' into an object named 'prims'
	g prims prim1 prim2
&lt; enter object edit state, editing 'prims'
	press oill
	&lt;select "prims" with crosshairs&gt;
&lt; translate, rotate, and scale object 'prims' to slightly off center
	translate 1.0 1.0 1.0
	rotobj 5.0 5.0 5.0
	scale 2.0
&lt; leave object edit state
	press accept
&lt; create an arbN named 'my_1'
&lt; create another arbN named 'my_2'
	&lt;There are no arbN's.&gt;
&lt; create a region named 'both' which includes both (u?) 'my_1' and 'my_2'
	r both + my_1 u my_2
&lt; create a region named 'first' which subtracts 'my_2' from 'my_1' (1-2?)
	r first + my_1 - my_2
&lt; create a region named 'second' which is the intersection (+?)
&lt; of 'my_2' and 'my_1'
	r second + my_1 + my_2
&lt; assign a different item, material, color, air to each of the three
&lt; regions
	edcodes both first second
&lt; combine 'prims', 'both', 'first', and 'second' into an object named
&lt; 'obj2'
	g obj2 prims both first second
&lt; save the model
&lt; quit mged
	q

<p>
Also, in case you haven't discovered it, typing a command name with no
arguments will often give a usage message, and typing a '?' as an
argument will sometimes give a list of possible ones:

<p>
mged&gt; press
Usage: press button_label
        (emulate button press)
mged&gt; press ?
 ?: no match
 top, bottom, right, left, front,
 rear, restore, save, adc, reset,
 45,45, 35,25, oill, sill, oscale,
 oxscale, oyscale, ozscale, ox, oy,
 oxy, orot, accept, reject, slice,
 sedit, srot, sxy, sscale, mged&gt;

<p>
Hope this helps,
moss
<hr>
Date: Wed, 25 Nov 87 08:12:56 CST
From: Jim Bozek &lt;bozek%uxe.cso.uiuc.edu@UXC.CSO.UIUC.EDU&gt;

<p>
	I recently installed the BRL CAD distribution on a Pyramid 90x. The
bench mark images were successfully generated and other software (i.e., the
utilities, mged, lgt, etc.) seem to be working properly. Thank you for this.

<p>
	I am having a problem in that I can not seem to get mged to go into
object state. I use either a Tektronix 4014 emulator on the Macintosh or a
real honest to goodness Tektronix 4207 which emulates a 4109. Attachment to
the Tek 4109 is done properly, pictures are drawn, etc. Solid edit state can
be entered using 'sed', etc. I can't seem to find an object analogy to 'sed'
other than 'press oill' which opens up the door to the pick, path, states,
etc. from which I can't seem to do anything except 'press reject'. I am not
using a tablet or a pen (is a pen required or can this also be emulated with
key presses?). The only cursor that ever comes up on the screen is the
angle/distance cursor when I toggle it on with 'press adc'.

<p>
	Could you please give me some advice? Even better, could you send me,
or us on the network, a (very simple) script of mged commands which would
lead us through an editing session. For example:

<p>
	run mged with a new model (e.g., newmod0.g)
	create an arb5 primitive name 'prim1'
	translate, rotate, and scale 'prim1' to slightly off center
	create an arb7 primitive name 'prim2'
	combine 'prim1' and 'prim2' into an object named 'prims'
	enter object edit state, editing 'prims'
	translate, rotate, and scale object 'prims' to slightly off center
	leave object edit state
	create an arbN named 'my_1'
	create another arbN named 'my_2'
	create a region named 'both' which includes both (u?) 'my_1' and 'my_2'
	create a region named 'first' which subtracts 'my_2' from 'my_1' (1-2?)
	create a region named 'second' which is the intersection (+?)
		of 'my_2' and 'my_1'
	assign a different item, material, color, air to each of the three
		regions
	combine 'prims', 'both', 'first', and 'second' into an object named
		'obj2'
	save the model
	quit mged

<p>
	Such an example would illustrate most of what is required to create
a model, and would help me immeasurably. Thank you for your time and, again,
thank you for the software.

<p>
						Jim Bozek
<hr>
Date:     Wed, 27 Jan 88 4:04:16 EST
From:     Mike Muuss &lt;mike@BRL.ARPA&gt;

<p>
Howard Walter has decided that the BRL CAD Package is not software that
the BRL Software Support crew is willing to support, or even attempt to
answer questions about.  Therefore, he has ruled that all the installed
programs that comprise the BRL CAD Package should be moved from their
current directory of /usr/brl/bin to some other place.

<p>
That other place will be /usr/brlcad/bin.  Associated with it will be
/usr/brlcad/lib and /usr/brlcad/etc for related pieces. The directory
/usr/include/brlcad will remain, unchanged.

<p>
After 1-March-88, BRL CAD Package commands (including MGED, RT, LGT,
RLE-FB, etc) will no longer be found in /usr/brl/bin, but will instead
be found only in /usr/brlcad/bin.  For the intervening weeks, existing
versions will continue to be found in /usr/brl/bin, while new versions
of the software will begin to be installed in /usr/brlcad/bin.

<p>
If you do not use any of this software, you do not need to do anything.
If you DO use this software, you need only to make a one-time change.
Please do it today.  The change is as follows:

<p>
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - =

<p>
*)  For Bourne Shell (/bin/sh) users [this is the default Shell], you need
to edit the file ".profile" in your home directory.  It will have a line
in it that looks something like:

<p>
PATH=/usr/brl/bin:/usr/ucb:/bin:/usr/bin:/usr/local/bin:/usr/aos/bin:/usr/5bin::

<p>
You want to insert the string "/usr/brlcad/bin:" at the very front,
(note the trailing colon ":")  right after the "=" sign, so that
the string now reads:

<p>
PATH=/usr/brlcad/bin:/usr/brl/bin:/usr/ucb:/bin:/usr/bin:/usr/local/bin:/usr/aos/bin:/usr/5bin::

<p>
     ^^^^^^^^^^^^^^^^ -- here is where the insertion was done.

<p>
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - =

<p>
*)  For C-Shell (/bin/csh) and T-C-Shell (/usr/brl/bin/tcsh) users, you need
to edit the file ".cshrc" in your home directory.  It will have a line in
it that looks something like:

<p>
set path=(/usr/brl/bin /usr/ucb /bin /usr/bin /usr/local/bin . /usr/5bin)

<p>
You want to insert the string "/usr/brlcad/bin " at the very front,
(note the trailing space) right after the open paren "(", so that
the string now reads:

<p>
set path=(/usr/brlcad/bin /usr/brl/bin /usr/ucb /bin /usr/bin /usr/local/bin . /usr/5bin)

<p>
          ^^^^^^^^^^^^^^^^ -- here is where the insertion was done.

<p>
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - =

<p>
For either Shell, after you have made this change, log out, and log back
in, and you will be all set.

<p>
Please be careful not to delete any of the other directories named in
the list.  If you encounter any difficulties, contact the system
administrator on the machine that you are having trouble with.
Also note that you will have to perform this editing operation on
each and every machine that you use.

<p>
I hope that you will find this Administration-mandated change fairly
easy to cope with.  If this presents undue hardship, please notify
Howard.

<p>
	Best,
	 -Mike
<hr>
Date: Wed, 13 Apr 88 4:50:17 EDT
From: Mike Muuss &lt;mike@BRL.ARPA&gt;

<p>
The BRLCAD Package had quite a bit of software in it, all written in C,
and targeted mainly for UNIX.  It includes:

<p>
Hardware independent and network transparent framebuffer library,
image processing tools,
full constructive solid geometry (CSG) modeling package, including:
	editor,
	ray-tracing library
	two rendering packages
	procedural database interface

<p>
and a variety of other good things.  It has been distributed to over 300
sites now, and is well received.
	Best,
	 -Mike
<hr>
Date:     Tue, 3 Nov 87 4:36:13 EST
From:     Mike Muuss &lt;mike@BRL.ARPA&gt;

<p>
Release 2.3 of the BRL CAD Package has been finalized this evening.
The new executables, header files, and libraries have been isntalled on
the VAX (VGR), the Cray-2 (Bob), the XMP (Patton), all the Suns served
by SPARK, and the Goulds (VMB and SEM).  As usual, RANLIB on the SGI
blew up, and the Alliant is *still* compiling, so they don't have this
new release installed yet.

<p>
Now begins the tedious chore of registering and producing the zillions
of distribution requests currently outstanding. To help in this process,
I have formalized the location of the tape list on VGR as
/m/cad/tapes/tapes, with a (draft) version of the procedure for
checking, registering, writing, and sending a distribution in the
file /m/cad/tapes/procedure.  BRL folks, please send me your comments.

<p>
UPGRADING FROM RELEASE 2.0

<p>
Primarily, this release is a maintenance release, with lots of little
nits resolved, along with a few new features.  The major weak area is
still Sun display support.  In particular, using RT from within MGED
on a Sun, fails miserably.

<p>
This release contains different and better support for multiple lights
in RT, along with a standardized shader interface, and stackable
shaders. Support for polygonal objects is now correct, but slow. The
spline code has been significantly improved. Some contributed code for
the Raster Technologies One/80 has been included, but is untested.  The
library for procedurally generating databases ``libwdb'' is now
included, along with some example uses in the directory ``proc-db''.
The program ``rtwalk'' generates a viewpoint animation control script
that takes the eye between given start and end points, without walking
through any geometry.  This is especially interesting when used on
complex scenes like those made by proc-db/clutter.c.

<p>
WORK IN PROGRESS

<p>
We are hard at work on a variety of new features, the most significant are:

<p>
*) a substantial package for animation specification and preview,

<p>
*) code to replace the "big-E" command, to convert the CSG model into
a polygonal approximation, for certain analysis codes, and to drive
display hardware with fast polygon rendering,

<p>
*) additional primitive types,

<p>
*) MGED improvements, including merging common database-handling code
with librt, and a consolidation of the MGED and LIBRT geometry modules.

<p>
*) Significant signal and image-processing capabilities

<p>
Many of these should be out in the fabled "next release" :-)

<p>
	Best,
	 -Mike
<hr>
Date: Sat, 27 Feb 88 17:52:28 EDT
From: Graphics Devlopment Group &lt;munnari!cidam.rmit.oz.au!graphics@uunet.UU.NET&gt;

<p>
I have have some difficulty understanding exactly what to expect
as the result of combinations.

<p>
take the following example:

<p>
	units inches
	in box1 box 0 0 0 10 0 0 0 5 0 0 0 5
	in box2 box 8 2.5 2.5 4 0 0 0 2.5 0 0 0 2.5
	in cyl rcc 10 -1.0 2.5 0 10 0 1

<p>
as the input to mged.

<p>
The intention is to make an object which is the union of the two boxes
then subtract the cylinder from that union.

<p>
Now we've tried a number of variations including:

<p>
	r foo u box1 u box2 - cyl

<p>
but this merely subtracts the cylinder from box2, not a hole through
the union.

<p>
	r foo u box2 u box1 - cyl

<p>
give the inverse.

<p>
It was thought that perhaps by defing a sub-group to define the union

<p>
	g foo box1 box2
	r bar u foo - cyl

<p>
may give the correct answer, but alas it doesn't.

<p>
Using a sub-region, not only fails to give the correct answer, but
gives an obviously bug-related bogus answer.

<p>
	r foo u box1 u box2
	r bar u foo - cyl

<p>
The correct answer can be achieved by:

<p>
	r test u box1 - cyl u box2 - cyl

<p>
This is not a very elegant solution, in fact it is rather clumsy. In a
complicated model, it could cause a high overhead.

<p>
So, please tell me what is wrong here  It is obvious that the solution
is out there as I cannot believe that those complicated models in the
sample pixel files were built in this (clumbsy) way.

<p>
The crux of the matter appears to me to be how to (easily) define
the hierarchy/precedence of modeling operations.
<hr>
Date:     Tue, 1 Mar 88 8:35:30 EST
From:     Keith Applin (VLD/VMB) &lt;keith@BRL.ARPA&gt;

<p>
The problem here is how regions are to be evaluated.  By definition, the
first operation of a region must be intersection "+" or union "u". If
"+" is first, then evaluation of the region's operation/member combinations
proceeds sequentially.  Unfortunately, for historical reasons, if the
first operation is a "u", then the evaluation becomes a sequence of
nested evaluations between unions.  For example:

<p>
	r foo u s1 - s2 - s3 u s5 - s2 u s6 - s3

<p>
is evaluated as

<p>
	u ( + s1 - s2 - s3 ) u ( + s5 - s2 ) u ( + s6 - s3 )

<p>
Given this framework, your results are as expected and the region:

<p>
	r test u box1 - cyl u box2 - cyl

<p>
gives the desired result.  I am puzzled that your other "approaches"
of first creating a union of the boxes (either a group or a region)
and then subtracting the cylinder didn't work....I believe they should.

<p>
<hr>
<em>mike</em>
<br>

<a href="index.html"> Release notes for other versions of BRL-CAD </a>
</body>
